package com.flyan.game.motafx.core.function;

import com.almasb.fxgl.entity.Entity;
import com.flyan.game.motafx.core.enums.EntityTypeEnum;
import com.flyan.game.motafx.core.map.MapPosition;

/**
 * 地图遍历消费者
 *
 * @author flyan
 * @version 1.0
 * @email flyan_by_chenu@sina.com
 * @since 2025/2/5
 */
@FunctionalInterface
public interface MapTraverseConsumer {

    /**
     * 接收遍历元素
     *
     * @param position      地图位置
     * @param entityType    实体类型
     * @param entity        实体，可能会不存在
     * @return 是否继续遍历
     */
    boolean accept(MapPosition position, EntityTypeEnum entityType, Entity entity);

}
